﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Configuration;

namespace TheBullysStore.Models.ModuloVentas.Vendedor
{
    public class VendedorDAO
    {
        public string RegistrarVendedor(VendedorBean vendedor)
        {
            try
            {
                String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["TheBullysStore"].ConnectionString;
                SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);
                sqlCon.Open();
//                string commandString = "INSERT INTO Persona (id_persona,apellidos,celular,correo,fecha_nacimiento,genero,nombres,nro_documento,id_tipoDocumento) VALUES ('" + cliente.id_persona + "', '" + cliente.apellidos + "', '" + cliente.celular + "', '" +cliente.correo+"', '"+cliente.fecha_nacimiento+"', '"+cliente.genero+"', '"+cliente.nombres+"', '"+cliente.nro_documento+"', '"+cliente.id_tipoDocumento+ "')";

                //string commandString0 = "INSERT INTO dbo.tema VALUES ('tema','descripcion')";
                //SqlCommand sqlCmd0 = new SqlCommand(commandString0, sqlCon);
                //sqlCmd0.ExecuteNonQuery();

                //id_distrito,Nombres,Apellidos,Direccion,Nro_Documento(K),
                //Telefono,Estado,Correo,Genero,tipo_documento(K),usuario,password,celular


                //string commandString = "INSERT INTO dbo.persona (nombres, apellidos,direccion,telefono,correo,genero,estado,nro_documento,tipo_documento) VALUES ('" + vendedor.nombres + "', '"+ vendedor.apellidos + "', '" + vendedor.direccion + "', '" + vendedor.telefono +"', '" + vendedor.correo + "', '" + vendedor.genero + "', '" + vendedor.estado + "', '" + vendedor.nro_documento + "', '" + vendedor.tipo_documento + "')";
                //string commandString = "INSERT INTO dbo.persona (Nombres, Apellidos, Direccion, Nro_Documento, Telefono, Estado, Correo, Genero, tipo_documento, usuario, password, celular) VALUES ('Diego', 'Berolatti', 'Direccion', 123, 'Telefono', 1, 'Correo', 'Genero', 'tipo_documento', 'usuario', 'password', 'celular')";
                                                                                                                                                                                       // Nombres,Apellidos,Direccion,Nro_Documento,Telefono,Estado,Correo,Genero,tipo_documento,usuario,password,celular
                string commandString ="INSERT INTO dbo.persona(Nombres,Apellidos,Direccion,Nro_Documento,Telefono,Estado,Correo,Genero,tipo_documento,usuario,password,celular)VALUES('"+ vendedor.nombres + "','"+vendedor.apellidos +"','"+vendedor.direccion+"','"+vendedor.nro_documento+"','"+vendedor.telefono+"',1 ,'"+vendedor.correo+"','"+vendedor.genero+"','"+vendedor.tipo_documento+"','"+vendedor.usuario+"','"+vendedor.password+"','"+vendedor.celular+"')";
                SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon); 
                sqlCmd.ExecuteNonQuery();


                string commandString2 = "INSERT INTO dbo.vendedor (nro_documento,tipo_documento) VALUES ('" + vendedor.nro_documento + "', '" + vendedor.tipo_documento + "')";
                //string commandString2 = "INSERT INTO dbo.vendedor (nro_documento,tipo_documento) VALUES ('nro_documento', 'tipo_documento')";
                SqlCommand sqlCmd2 = new SqlCommand(commandString2, sqlCon);
                sqlCmd2.ExecuteNonQuery();
                
      
                sqlCon.Close();
                vendedor.conexion = "Bien";

            }

            catch
            {
                vendedor.conexion = "Falla en Conexion";
            }
            return vendedor.conexion;
        }
        public Boolean ExisteVendedor(int id_tipoDocumento, string nro_documento)
        {
            try
            {
                String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["TheBullysStore"].ConnectionString;

                SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);

                sqlCon.Open();

                string commandString = "SELECT * FROM Persona WHERE id_tipoDocumento = " + id_tipoDocumento + "AND UPPER(nro_documento) = '" + nro_documento.ToUpper() + "'";


                SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);

                SqlDataReader dataReader = sqlCmd.ExecuteReader();

                if (dataReader.Read())
                {
                    ClienteBean vendedor = new ClienteBean();
                    //cliente.id_tipoDocumento = (string)dataReader["id_tipoDocumento"];
                    //cliente.nro_documento = (string)dataReader["RUC"];

                    vendedor.nombres = (string)dataReader["nombres"];
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }
        public List<VendedorBean> ListarVendedor(String Nombre, String Apellido,String tipo_documento,String nro_documento)
        {

            List<VendedorBean> listaVendedor = new List<VendedorBean>();

            String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["TheBullysStore"].ConnectionString;

            SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);
            sqlCon.Open();

            string commandString = "SELECT * FROM persona";
            bool result = Nombre.Equals("");
            if (!result) commandString = commandString + " WHERE UPPER(nombres) LIKE '%" + Nombre.ToUpper() + "%'";
            SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);
            SqlDataReader dataReader = sqlCmd.ExecuteReader();

            while (dataReader.Read())
            {
                VendedorBean vendedor = new VendedorBean();
                //cliente. = (int)dataReader["idUsuario"];
                vendedor.nombres = (string)dataReader["nombres"];
                vendedor.apellidos = (string)dataReader["apellidos"];
                vendedor.tipo_documento = (string)dataReader["tipo_documento"];
                vendedor.nro_documento = (string)dataReader["Nro_Documento"];

                listaVendedor.Add(vendedor);
            }
            dataReader.Close();
            sqlCon.Close();

            return listaVendedor;
        }


    }
}
        //
        // GET: /ClienteDAO/
/*
        public ActionResult RegistrarCliente(ClienteBean cliente)
        {
            
            try
            {
                String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["TheBullysStore"].ConnectionString;

                SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);

                sqlCon.Open();

                string commandString = "INSERT INTO Persona (id_persona,RazonSocial) VALUES ('" + proveedor.RUC + "', '" + proveedor.RazonSocial + "')";

                SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);
                sqlCmd.ExecuteNonQuery();

                sqlCon.Close();

                cliente.conexion = "Bien";
            }
            catch (Exception ex)
            {
                cliente.conexion = "Falla en Conexion";
            }
        }



/*
        public List<ClienteBean> ListarClientesNatural(String Nombre)
        {

            List<ClienteBean> listaClientes = new List<ClienteBean>();

            String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["TheBullysStore"].ConnectionString;

            SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);
            sqlCon.Open();

            string commandString = "SELECT * FROM Usuario WHERE estado = 'ACTIVO' AND tipoDocumento != 'RUC'";
            bool result = Nombre.Equals("");
            if (!result) commandString = commandString + " AND UPPER(nombres) LIKE '%" + Nombre.ToUpper() + "%'";
            SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);
            SqlDataReader dataReader = sqlCmd.ExecuteReader();

            while (dataReader.Read())
            {
                ClienteBean cliente = new ClienteBean();
                cliente.ID = (int)dataReader["idUsuario"];
                cliente.nombres = (string)dataReader["nombres"];
                cliente.apPat = (string)dataReader["apPat"];
                cliente.apMat = (string)dataReader["apMat"];
                cliente.tipoDocumento = (string)dataReader["tipoDocumento"];
                cliente.nroDocumento = (string)dataReader["nroDocumento"];

                listaClientes.Add(cliente);
            }
            dataReader.Close();
            sqlCon.Close();

            return listaClientes;
        }


    }
}*/
